home *** CD-ROM | disk | FTP | other *** search
/ Enigma Amiga Life 112 / EnigmaAmiga112CD.iso / dalla rivista / awnpipe / awnp / awnp-docs / guiextras.doc < prev    next >
Text File  |  2000-05-14  |  3KB  |  37 lines

  1.  If you have read the first three tutorials, but not tried building a GUI of your own, you should try writing a simple gui of your own before reading further. Tutorial 4 will be simpler to understand once you have gained a little experience with AWNP.
  2.  
  3.  Before reading this section take a moment and run tutorial 4, knowing what the GUI does will help in understanding the code behind it.
  4.  
  5.  Although Tutorial 4 is available in 'C' or Arexx the discussion is kept general and it applies to both.
  6.  
  7. TUTORIAL 4
  8. -----------
  9.  
  10.  This tutorial deals with adding some of the finishing touches to AWNP GUI's. You should make sure you understand tutorial 3 before reading further.
  11.  
  12.  A few simple changes are made in the GUI. It has an iconify gadget and can be resized. This is done by adding 'ig' iconfygadget, 'sg' sizegadget and 'ii' iconimage. 'ii' specifys the file (without the .info) whose icon is used when iconfying the GUI, it can be omitted and default icon will be displayed. The 'fh' fixheight limits the sizing gadget to changing the GUI's width.
  13.  
  14.  Another change has been made in the GUI, it is set as an app window 'app'.Now when an icon is dropped on the gui (or its iconified image) an event is generated passing the file name of the icon that was dropped. The event is 'app path:filename'.
  15.  
  16.  We respond to the app event by uniconifying the GUI (if necessary) and loading the file that was dropped. Try saving some info then dropping the icon of the saved info on the GUI.
  17.  
  18.  The iconify gadget also produces a special event. 'iconify MODE' where MODE=1 means the user wants to iconify the GUI, and 0 means it should be uniconified. A simple modify line does this.
  19.  
  20. 'id 0 s 32' to iconify
  21. 'id 0 s 64' to uniconify
  22.  
  23.  The menu now has options to snapshot the window. The windows size and location are read with
  24.  
  25. 'id 0 read' the pipe responds with
  26. 'TOP LEFT WIDTH HEIGHT'   not with 'ok'
  27.  
  28.  The information is stored in ENV(ARC): . Before the GUI is opened we check for the information and use it in the window definition line if its available.
  29.  
  30.  The about item in the menu now opens a separate GUI. It is a simple window with no gadgets just a label used to display some text. Although the routine used to build the about GUI is trivial it has an interesting ability. It can be made to close automatically after a specific delay.
  31.  
  32.  A gui window will close automatically if it tries to read a modify command and you have already closed your end of the pipe. We open the GUI then send a 'tick' modify command to the pipe. This works like 'continue' except the pipe will send back our tick as an event weather the user hits a gadget or not. After sending us the tick event back AWNP tries to read a modify command and THEN discovers we have closed the pipe. If the delay is set as 0 we simply turn modify off and the GUI waits until the close gadget is hit.
  33.  
  34.  The data menu items now display information the same way the about requester does.
  35.  
  36.  
  37.